home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / shad.z / shad
Encoding:
Text File  |  2002-10-03  |  17.3 KB  |  331 lines

  1.  
  2.  
  3.  
  4. SSSSHHHHAAAADDDD((((3333SSSS))))                                                              SSSSHHHHAAAADDDD((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSSSHHHHAAAADDDD, DDDDHHHHAAAADDDD, CCCCHHHHAAAADDDD, ZZZZHHHHAAAADDDD - Computes the Hadamard product of two vectors
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      Single precision
  13.  
  14.           Fortran:
  15.  
  16.                CCCCAAAALLLLLLLL SSSSHHHHAAAADDDD ((((_n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _b_e_t_a,,,, _z,,,, _i_n_c_z))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ffffllllooooaaaatttt _a_l_p_h_a,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x,,,, ffffllllooooaaaatttt *_y,,,, iiiinnnntttt
  21.                _i_n_c_y,,,, ffffllllooooaaaatttt _b_e_t_a,,,, ffffllllooooaaaatttt *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  22.  
  23.      Double precision
  24.  
  25.           Fortran:
  26.                CCCCAAAALLLLLLLL DDDDHHHHAAAADDDD ((((_n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _b_e_t_a,,,, _z,,,, _i_n_c_z))))
  27.  
  28.           C/C++:
  29.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  30.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee _a_l_p_h_a,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x,,,, ddddoooouuuubbbblllleeee *_y,,,,
  31.                iiiinnnntttt _i_n_c_y,,,, ddddoooouuuubbbblllleeee _b_e_t_a,,,, ddddoooouuuubbbblllleeee *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  32.  
  33.      Single precision complex
  34.  
  35.           Fortran:
  36.                CCCCAAAALLLLLLLL CCCCHHHHAAAADDDD ((((_n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _b_e_t_a,,,, _z,,,, _i_n_c_z))))
  37.  
  38.           C/C++
  39.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  40.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt
  41.                _i_n_c_x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_b_e_t_a,,,,
  42.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  43.  
  44.           C/C++ STL:
  45.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  46.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  47.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt
  48.                _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_b_e_t_a,,,,
  49.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  50.  
  51.      Double precision complex
  52.  
  53.           Fortran:
  54.                CCCCAAAALLLLLLLL ZZZZHHHHAAAADDDD ((((_n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _b_e_t_a,,,, _z,,,, _i_n_c_z))))
  55.  
  56.           C/C++:
  57.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  58.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt
  59.                _i_n_c_x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_b_e_t_a,,,,
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSHHHHAAAADDDD((((3333SSSS))))                                                              SSSSHHHHAAAADDDD((((3333SSSS))))
  71.  
  72.  
  73.  
  74.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  75.  
  76.           C/C++ STL:
  77.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  78.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  79.                vvvvooooiiiidddd sssshhhhaaaadddd((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,,
  80.                iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_b_e_t_a,,,,
  81.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_z,,,, iiiinnnntttt _i_n_c_z))));;;;
  82.  
  83. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  84.      These routines are part of the SCSL Scientific Library and can be loaded
  85.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  86.      directs the linker to use the multi-processor version of the library.
  87.  
  88.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  89.      4 bytes (32 bits). Another version of SCSL is available in which integers
  90.      are 8 bytes (64 bits).  This version allows the user access to larger
  91.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  92.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  93.      only one of the two versions; 4-byte integer and 8-byte integer library
  94.      calls cannot be mixed.
  95.  
  96.      The C and C++ prototypes shown above are appropriate for the 4-byte
  97.      integer version of SCSL. When using the 8-byte integer version, the
  98.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  99.      file should be included.
  100.  
  101. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  102.      These routines compute the Hadamard product of two vectors _x and _y,
  103.      storing the results in a vector _z.
  104.  
  105.           z <- alpha * x  * y  + beta * z , i = 1, . . .  n
  106.            i            i    i           i
  107.  
  108.  
  109.      _a_l_p_h_a = 0.0 is recognized as a special case.  _b_e_t_a = 0.0 or _b_e_t_a = 1.0 is
  110.      also recognized as a special case.
  111.  
  112.      These routines accept the following arguments:
  113.  
  114.      _n         Integer.  (input)
  115.                The number of elements in each vector.
  116.  
  117.      _a_l_p_h_a     Scalar alpha. (input)
  118.                SSSSHHHHAAAADDDD: Single precision.
  119.                DDDDHHHHAAAADDDD: Double precision.
  120.                CCCCHHHHAAAADDDD: Single precision complex.
  121.                ZZZZHHHHAAAADDDD: Double precision complex.
  122.  
  123.                For C/C++, a pointer to this scalar is passed when alpha is
  124.                complex; otherwise, alpha is passed by value.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSHHHHAAAADDDD((((3333SSSS))))                                                              SSSSHHHHAAAADDDD((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      _x         Array of dimension (1 + (_n-1) * _i_n_c_x).  (input)
  141.                SSSSHHHHAAAADDDD: Single precision array.
  142.                DDDDHHHHAAAADDDD: Double precision array.
  143.                CCCCHHHHAAAADDDD: Single precision complex array.
  144.                ZZZZHHHHAAAADDDD: Double precision complex array.
  145.  
  146.                The vector _x.
  147.  
  148.                If _i_n_c_x > 0, the _ith element of the vector _x is located in _x(1
  149.                + (_i-1) * _i_n_c_x) for Fortran and in _x[(_i-1) * _i_n_c_x] for C/C++.
  150.  
  151.                If _i_n_c_x < 0, the _ith element of the vector _x is located in _x(1
  152.                + (_n-_i) * |_i_n_c_x|) for Fortran, xxxx[(_n-_i) * |_i_n_c_x|] for C/C++.
  153.  
  154.      _i_n_c_x      Integer.  (input)
  155.                The increment between elements of the vector _x.
  156.                _i_n_c_x must not = 0.
  157.  
  158.      _y         Array of dimension (1 + (_n-1) * _i_n_c_y).  (input)
  159.                SSSSHHHHAAAADDDD: Single precision array.
  160.                DDDDHHHHAAAADDDD: Double precision array.
  161.                CCCCHHHHAAAADDDD: Single precision complex array.
  162.                ZZZZHHHHAAAADDDD: Double precision complex array.
  163.                The vector _y.
  164.  
  165.                If _i_n_c_y > 0, the _ith element of the vector _y is located in
  166.                _y(1+(_i-1) * _i_n_c_y) for Fortran, and in _y[(_i-1) * _i_n_c_y] for
  167.                C/C++.
  168.  
  169.                If _i_n_c_y < 0, the _ith element of the vector _y is located in _y(1
  170.                + (_n-_i) * |_i_n_c_y|) for Fortran, _y[(_n-_i) * |_i_n_c_y|] for C/C++.
  171.  
  172.      _i_n_c_y      Integer.  (input)
  173.                The increment between elements of the vector _y.  _i_n_c_y must not
  174.                be 0.
  175.  
  176.      _b_e_t_a      The scalar beta. (input)
  177.                SSSSHHHHAAAADDDD: Single precision.
  178.                DDDDHHHHAAAADDDD: Double precision.
  179.                CCCCHHHHAAAADDDD: Single precision complex.
  180.                ZZZZHHHHAAAADDDD: Double precision complex.
  181.  
  182.                For C/C++, a pointer to this scalar is passed when beta is
  183.                complex; otherwise, beta is passed by value.
  184.  
  185.      _z         Array of dimension (1 + (_n-1) * _i_n_c_z).  (input/output)
  186.                SSSSHHHHAAAADDDD: Single precision array.
  187.                DDDDHHHHAAAADDDD: Double precision array.
  188.                CCCCHHHHAAAADDDD: Single precision complex array.
  189.                ZZZZHHHHAAAADDDD: Double precision complex array.
  190.                On entry, the vector _z.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SSSSHHHHAAAADDDD((((3333SSSS))))                                                              SSSSHHHHAAAADDDD((((3333SSSS))))
  203.  
  204.  
  205.  
  206.                If _i_n_c_z > 0, the _ith element of the vector _z is located in _z(1
  207.                + (_i-1) * _i_n_c_z) for Fortran, _z[(_i-1) * _i_n_c_z] for C/C++.
  208.  
  209.                If _i_n_c_z < 0, the _ith element of the vector _z is located in _z(1
  210.                + (_n-_i) * |_i_n_c_z|) for Fortran, _z[(_n-i) * _i_n_c_z] for C/C++.
  211.  
  212.                On exit, _z is overwritten with the Hadamard product.
  213.  
  214.      _i_n_c_z      Integer.  (input)
  215.                The increment between elements of the vector _z.  _i_n_c_z must not
  216.                be 0.
  217.  
  218. NNNNOOOOTTTTEEEESSSS
  219.      These routines are extensions to the Level 1 Basic Linear Algebra
  220.      Subprograms (Level 1 BLAS).
  221.  
  222.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  223.      The following data types are described in this documentation:
  224.  
  225.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  226.  
  227.      Fortran:
  228.  
  229.           Array dimensioned _n           xxxx((((nnnn))))
  230.  
  231.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  232.  
  233.           Single precision              RRRREEEEAAAALLLL
  234.  
  235.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  236.  
  237.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  238.  
  239.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  240.  
  241.      C/C++:
  242.  
  243.           Array dimensioned _n           xxxx[[[[_n]]]]
  244.  
  245.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  246.  
  247.           Single precision              ffffllllooooaaaatttt
  248.  
  249.           Double precision              ddddoooouuuubbbblllleeee
  250.  
  251.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  252.  
  253.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  254.  
  255.      C++ STL:
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SSSSHHHHAAAADDDD((((3333SSSS))))                                                              SSSSHHHHAAAADDDD((((3333SSSS))))
  269.  
  270.  
  271.  
  272.           Array dimensioned _n           xxxx[[[[_n]]]]
  273.  
  274.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  275.  
  276.           Single precision              ffffllllooooaaaatttt
  277.  
  278.           Double precision              ddddoooouuuubbbblllleeee
  279.  
  280.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  281.  
  282.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  283.  
  284. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  285.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S)
  286.  
  287.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  288.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  289.      Linear Algebra Subprograms Technical Forum.
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.